//=============================================================================
//Name		:isr.c
//Purpose	:Interrupt Service Routine
//=============================================================================
#define		_ISR_C
#include    "includeAll.h"
//=============================================================================
// Function:	void INT0_int(void)
// Purpose:	INT0 pin interrupt vector
// Input:	none
// OutPut:	none
// Author:
//=============================================================================
void INT0_int(void) interrupt 0
{
	IE0 = 0;			//clear interrupt flag
}
//=============================================================================
// Function:	void TIMER0_int(void)
// Purpose:	TIMER0 interrupt vector
// Input:	none
// OutPut:	none
// Author:
//=============================================================================
void TIMER0_int(void) interrupt 1
{
	TF0 = 0;			//clear interrupt flag
	TR0 = 0;
	#if POWERSAVE == 0
		g_ucTimer0RollOver++;
		g_ucAntiNoiseTimer++;
		if(g_ucAntiNoiseTimer > g_ucAntiNoiseTimerTemp) g_ucAntiNoiseTimer = g_ucAntiNoiseTimerTemp;
		if(g_bRawDataInvalidFlag)
		{
			g_ucAntiNoiseDebounceTimer++;
			if(g_ucAntiNoiseDebounceTimer > NOISEDEBOUNCETIME)	//200ms
			{
				g_ucAntiNoiseTimer = 0;
				g_bRawDataInvalidFlag = 0;
			}
		}
	#endif
	TH0 = (65536-14745)/256;	//4ms timer0 interrupt
	TL0 = (65536-14745)%256;
	TR0 = 1;
		 if(buzzLastTimer > 0)
        {
            buzzLastTimer-- ;
        }
        else
        {
					
		P2MOD &=b1111_1100;
	  P2MOD |=b0000_0001;
          
            F_setBuzz()	;
        }
//				timCloTime++;

		timer40ms++;
    timer500ms++;
	timer300ms++;
    timer1s++;	
}
//=============================================================================
// Function:	void INT1_int(void)
// Purpose:	INT1 pin interrupt vector
// Input:	none
// OutPut:	none
// Author:
//=============================================================================
void INT1_int(void) interrupt 2
{
	IE1 = 0;			//clear interrupt flag
}
//=============================================================================
// Function:	void TIMER1_int(void)
// Purpose:	TIMER1 interrupt vector
// Input:	none
// OutPut:	none
// Author:
//=============================================================================
void TIMER1_int(void) interrupt 3
{
	TF1 = 0;			//clear interrupt flag
	// TR1 = 0;
  
	
 d_rem_step=0;

    
	
}
//=============================================================================
// Function:	void UART_int(void)
// Purpose:	UART interrupt vector
// Input:	none
// OutPut:	none
// Author:
//=============================================================================
void UART_int(void) interrupt 4
{
	TI = 0;				//clear interrupt flag
	RI = 0;				//clear interrupt flag
}
//=============================================================================
// Function:	void TIMER2_int(void)
// Purpose:	TIMER2 interrupt vector
// Input:	none
// OutPut:	none
// Author:
//=============================================================================
void TIMER2_int(void) interrupt 5
{
	TF2 = 0;			//clear interrupt flag
	 if(buzzLastTimer > 0)
  {
     
      F_buzz() ;
    }
	
	if((p_rem==0)&&(lastP_rem==1))
	{
		remControl();
	}
	lastP_rem=p_rem;
	
}
void TIMER3_int(void) interrupt 7
{
	INTFLAG &= ~TF3;
	#if POWERSAVE
		g_ucTimer0RollOver++;
		g_ucAntiNoiseTimer++;
		if(g_ucAntiNoiseTimer > g_ucAntiNoiseTimerTemp) g_ucAntiNoiseTimer = g_ucAntiNoiseTimerTemp;
		if(g_bRawDataInvalidFlag)
		{
			g_ucAntiNoiseDebounceTimer++;
			if(g_ucAntiNoiseDebounceTimer > 7)
			{
				g_ucAntiNoiseTimer = 0;
				g_bRawDataInvalidFlag = 0;
			}
		}
	#endif
}
//=============================================================================
// Function:	void P1_int(void)
// Purpose:	P1 pin interrupt vector
// Input:	none
// OutPut:	none
// Author:
//=============================================================================
void P1_int(void) interrupt 8
{
	INTFLAG &= ~P1IF;
}
//=============================================================================
// Function:	void INT2_int(void)
// Purpose:	INT2 pin interrupt vector
// Input:	none
// OutPut:	none
// Author:
//=============================================================================
void INT2_int(void) interrupt 9
{
	INTFLAG &= ~IE2;
}
//=============================================================================
// Function:	void ADC_TK_int(void)
// Purpose:	ADC&TOUCHKEY interrupt vector
// Input:	none
// OutPut:	none
// Author:
//=============================================================================
void ADC_TK_int(void) interrupt 10
{
	INTFLAG &= ~ADIF;
	INTFLAG &= ~TKIF;
	TKCON2 &= ~TKAUTO;	//disable touch key auto scan
}